package cn.seocoo.platform.user.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import cn.seocoo.platform.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * APP注册用户表 tb_app_user
 *
 * @author wujian
 * @date 2019-12-20
 */
public class AppUser extends BaseEntity {
    private static final long serialVersionUID = 1L;

    public static final String ANANYMOUS_USER = "0";

    public static final String AUTHER_USER = "1";

    public static final String BUSINESSES_USER = "2";

    /**
     * 是否缴费状态
     */
    public static final String NO_PAY_FLAG = "0";
    public static final String IS_PAY_FLAG = "1";

    /**
     * 个人是否认证状态
     */
    public static final String NO_USER_AUTHER = "0";
    public static final String IS_USER_AUTHER = "1";
    /**
     * 企业是否认证状态
     */
    public static final String NO_UNIT_AUTHER = "0";
    public static final String IS_UNIT_AUTHER = "1";


    /**
     * ID
     */
    private Integer id;
    /**
     * 昵称
     */
    private String nickName;
    /**
     * 头像图片地址
     */
    private String headImageUrl;
    /**
     * 手机号
     */
    private String phoneNumber;
    /**
     * 登录账号
     */
    private String loginName;
    /**
     * 密码
     */
    private String pwd;
    /**
     * 真实姓名
     */
    private String realName;
    /**
     * 性别(0:男;1女)
     */
    private String sex;
    /**
     * 身份证号
     */
    private String idNumber;
    /**
     * 身份证正面
     */
    private String idPhotoFont;
    /**
     * 身份证反面
     */
    private String idPhotoReverse;
    /**
     * 营业执照
     */
    private String businessLicense;
    /**
     * 是否缴费认证(0:未缴费;1已缴费)
     */
    private String isPayFlag;
    /**
     * 实名认证(0:未认证，1:已认证)
     */
    private String userAuthFlag;
    /**
     * 实名认证审核状态(0:待审核;1:审核通过;2:审核不通过)
     */
    private String userAuthStatus;
    /**
     * 实名认证不通过原因
     */
    private String userAuthReason;
    /**
     * 审核不通过原因
     */
    private String auditReason;
    /**
     * 用户类型(0:匿名;1:认证用户;2:商家用户)
     */
    private String userType;
    /**
     * 企业名称
     */
    private String unitName;
    /**
     * 信用代码证号
     */
    private String creditCode;
    /**
     * 对公账号
     */
    private String accountNumber;
    /**
     * 邮箱
     */
    private String unitEmail;
    /**
     * 商家联系电话
     */
    private String unitPhoneNumber;
    /**
     * 商户详细地址
     */
    private String unitAddress;
    /**
     * 商户注册时间
     */
    private Date unitCreateTime;
    /**
     * 商家简介
     */
    private String unitContent;
    /**
     * 商家认证(0:未认证，1:已认证)
     */
    private String unitAuthFlag;
    /**
     * 商家认证审核状态(0:待审核;1:审核通过;2:审核不通过)
     */
    private String unitAuthStatus;
    /**
     * 商家认证不通过原因
     */
    private String unitAuthReason;
    /**
     * 微信openId
     */
    private String wechatOpenId;
    /**
     * QQopenId
     */
    private String qqOpenId;
    /**
     * 删除状态：0正常，1删除
     */
    private String delFlag;

    private String forbidden;

    private String areaCode;

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setHeadImageUrl(String headImageUrl) {
        this.headImageUrl = headImageUrl;
    }

    public String getHeadImageUrl() {
        return headImageUrl;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public String getPwd() {
        return pwd;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getRealName() {
        return realName;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSex() {
        return sex;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdPhotoFont(String idPhotoFont) {
        this.idPhotoFont = idPhotoFont;
    }

    public String getIdPhotoFont() {
        return idPhotoFont;
    }

    public void setIdPhotoReverse(String idPhotoReverse) {
        this.idPhotoReverse = idPhotoReverse;
    }

    public String getIdPhotoReverse() {
        return idPhotoReverse;
    }

    public void setBusinessLicense(String businessLicense) {
        this.businessLicense = businessLicense;
    }

    public String getBusinessLicense() {
        return businessLicense;
    }

    public void setIsPayFlag(String isPayFlag) {
        this.isPayFlag = isPayFlag;
    }

    public String getIsPayFlag() {
        return isPayFlag;
    }

    public void setUserAuthFlag(String userAuthFlag) {
        this.userAuthFlag = userAuthFlag;
    }

    public String getUserAuthFlag() {
        return userAuthFlag;
    }

    public void setUserAuthStatus(String userAuthStatus) {
        this.userAuthStatus = userAuthStatus;
    }

    public String getUserAuthStatus() {
        return userAuthStatus;
    }

    public void setUserAuthReason(String userAuthReason) {
        this.userAuthReason = userAuthReason;
    }

    public String getUserAuthReason() {
        return userAuthReason;
    }

    public void setAuditReason(String auditReason) {
        this.auditReason = auditReason;
    }

    public String getAuditReason() {
        return auditReason;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }

    public String getUserType() {
        return userType;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setCreditCode(String creditCode) {
        this.creditCode = creditCode;
    }

    public String getCreditCode() {
        return creditCode;
    }

    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    public String getAccountNumber() {
        return accountNumber;
    }

    public void setUnitEmail(String unitEmail) {
        this.unitEmail = unitEmail;
    }

    public String getUnitEmail() {
        return unitEmail;
    }

    public void setUnitPhoneNumber(String unitPhoneNumber) {
        this.unitPhoneNumber = unitPhoneNumber;
    }

    public String getUnitPhoneNumber() {
        return unitPhoneNumber;
    }

    public void setUnitAddress(String unitAddress) {
        this.unitAddress = unitAddress;
    }

    public String getUnitAddress() {
        return unitAddress;
    }

    public void setUnitCreateTime(Date unitCreateTime) {
        this.unitCreateTime = unitCreateTime;
    }

    public Date getUnitCreateTime() {
        return unitCreateTime;
    }

    public void setUnitContent(String unitContent) {
        this.unitContent = unitContent;
    }

    public String getUnitContent() {
        return unitContent;
    }

    public void setUnitAuthFlag(String unitAuthFlag) {
        this.unitAuthFlag = unitAuthFlag;
    }

    public String getUnitAuthFlag() {
        return unitAuthFlag;
    }

    public void setUnitAuthStatus(String unitAuthStatus) {
        this.unitAuthStatus = unitAuthStatus;
    }

    public String getUnitAuthStatus() {
        return unitAuthStatus;
    }

    public void setUnitAuthReason(String unitAuthReason) {
        this.unitAuthReason = unitAuthReason;
    }

    public String getUnitAuthReason() {
        return unitAuthReason;
    }

    public void setWechatOpenId(String wechatOpenId) {
        this.wechatOpenId = wechatOpenId;
    }

    public String getWechatOpenId() {
        return wechatOpenId;
    }

    public void setQqOpenId(String qqOpenId) {
        this.qqOpenId = qqOpenId;
    }

    public String getQqOpenId() {
        return qqOpenId;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public String getForbidden() {
        return forbidden;
    }

    public void setForbidden(String forbidden) {
        this.forbidden = forbidden;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("nickName", getNickName())
                .append("headImageUrl", getHeadImageUrl())
                .append("phoneNumber", getPhoneNumber())
                .append("loginName", getLoginName())
                .append("pwd", getPwd())
                .append("realName", getRealName())
                .append("sex", getSex())
                .append("idNumber", getIdNumber())
                .append("idPhotoFont", getIdPhotoFont())
                .append("idPhotoReverse", getIdPhotoReverse())
                .append("businessLicense", getBusinessLicense())
                .append("isPayFlag", getIsPayFlag())
                .append("userAuthFlag", getUserAuthFlag())
                .append("userAuthStatus", getUserAuthStatus())
                .append("userAuthReason", getUserAuthReason())
                .append("auditReason", getAuditReason())
                .append("userType", getUserType())
                .append("unitName", getUnitName())
                .append("creditCode", getCreditCode())
                .append("accountNumber", getAccountNumber())
                .append("unitEmail", getUnitEmail())
                .append("unitPhoneNumber", getUnitPhoneNumber())
                .append("unitAddress", getUnitAddress())
                .append("unitCrateTime", getUnitCreateTime())
                .append("unitContent", getUnitContent())
                .append("unitAuthFlag", getUnitAuthFlag())
                .append("unitAuthStatus", getUnitAuthStatus())
                .append("unitAuthReason", getUnitAuthReason())
                .append("wechatOpenId", getWechatOpenId())
                .append("qqOpenId", getQqOpenId())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
